home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / exemod.zip / EXEMOD.H < prev    next >
Text File  |  1990-03-27  |  1KB  |  49 lines

  1. /*
  2. EXEMOD.H - Header file for EXEMOD.C
  3.  
  4. Kevin Dean
  5. 16 Kellythorne Drive
  6. Don Mills, Ontario
  7. Canada  M3A 2L4
  8.  
  9. March 27, 1990
  10.  
  11. Copyright (c) 1990 by Kevin Dean
  12.  
  13. For Turbo C versions 2.0 and above.  This code is public domain.
  14. */
  15.  
  16.  
  17. struct exeheader
  18.   {
  19.   unsigned id;            /* EXE file id */
  20.   unsigned bytemod;        /* Load module image size mod 512 */
  21.   unsigned pages;        /* File size (including header) div 512 */
  22.   unsigned reloc_items;        /* Number of relocation table items */
  23.   unsigned size;        /* Header size in 16-byte paragraphs */
  24.   unsigned minparagraphs;    /* Minimum number of paragraphs above program */
  25.   unsigned maxparagraphs;    /* Maximum number of paragraphs above program */
  26.   unsigned stackseg;        /* Displacement of stack segment */
  27.   unsigned spreg;        /* Initial SP register value */
  28.   int checksum;            /* Word checksum - negative sum (not used) */
  29.   unsigned ipreg;        /* Initial IP register value */
  30.   unsigned codeseg;        /* Displacement of code segment */
  31.   unsigned first_reloc;        /* First relocation item */
  32.   unsigned ovln;        /* Overlay number */
  33.   };
  34.  
  35. #define EXEH_SIZE  sizeof(struct exeheader)
  36.  
  37.  
  38. /* EXE file signature */
  39. #define EXE_ID  0x5A4D
  40.  
  41.  
  42. #ifndef TRUE
  43. #define TRUE   1
  44. #define FALSE  0
  45. #endif
  46.  
  47.  
  48. /* Function prototypes */
  49. int exemodify(const char *progname, int keepdt, ...);